<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .outer {
            width: 300px;
            height: 300px;
            background: red;
        }

        .middle {
            width: 200px;
            height: 200px;
            background: blue;
        }

        .inner {
            width: 100px;
            height: 100px;
            background: yellow;
        }
    </style>
</head>

<body>
    <div class="outer">
        <div class="middle">
            <div class="inner"></div>
        </div>
    </div>
    <script>
        //1. addEventListerner 绑定事件: 默认事件也是冒泡
        // addEventListerner 可以通过第三个参数控制 事件触发的阶段 默认会在冒泡阶段触发事件,默认是false ，false 代表在冒泡阶段触发事件,true，那么事件就会在捕获阶段触发 
        // 冒泡用的多些 。
        // 2.获取事件触发的目标元素 ： e.target: 获取触发事件的目标元素
        // e.target 支持主流浏览器 ，如果是 IE8及一下 e.srcElement获取
        var outerEle = document.querySelector(".outer");
        var middleEle = document.querySelector(".middle");
        var innerEle = document.querySelector(".inner");
        outerEle.addEventListener("click",function(e){
            console.log("outer");
            // console.log(e.target);
            var target = e.target || e.srcElement; // 兼容性的写法 ；
            console.log(target);
        },true)

        middleEle.addEventListener("click",function(){
            console.log("middle");
        },true)

        innerEle.addEventListener("click",function(){
            console.log("inner");
        },true)

        document.querySelector("body").addEventListener("click",function(){
            console.log("body")
        },true)

        document.querySelector("html").addEventListener("click",function(){
            console.log("html")
        },true)

        document.addEventListener("click",function(){
            console.log("document");
        },true)

        window.addEventListener("click",function(){
            console.log("window");
        },true)


    </script>
</body>
</html>